The present disclosure relates generally to tools for program development, and more particularly to systems and methods for function-specific tracing of programs.
Tracing can be one of the most important tools for program development and debugging. Typically, a debugger allows for execution of an application to be observed, recorded and used to identify particular problems with the application. Drawbacks of typical methods and programs for debugging include the speed of executing the debugging, and barriers to access program. Another drawback is that typical methods and programs for debugging output too much information. By way of example, the typical debugger/tracer traces the path of execution through a program. The problem is that most of any typical program includes the libraries, interfaces, and runtimes needed to run the program. Thus, tracking down (or at least identifying) errors in other parts of the program may be difficult. Unfortunately, most debuggers present all of the information at a user, including information about parts of a program that a programmer did not write.
A conventional approach to debugging is to place breakpoints in the code around the pieces or portions of code that are of interest, and then step through the code part by part until you get through the desired portion is reached. This approach, however, is time-consuming and it doesn't solve the problem as debugging of the undesired portions of code still occurs.
What is desired is a system and method for providing function-specific tracing that allows for the scope and depth of tracing to be controlled.